System and Method for Improved Order Entry Using Market Depth

ABSTRACT

Market depth information pertaining to the hedging side is utilized to intelligently break a non-hedging order into multiple orders, such that the orders rest at cascading price levels. This way, the trader can benefit from sweeps in the book and still properly account for the market depth on the hedging side. Further, there is a greater probability of receiving “partials” on the spread order. In addition, hedge orders may be sent at multiple price levels, or sent to the market in pieces over time. By applying a more intelligent process to hedge orders (as opposed to “fire and forget”) an alternative beyond limit orders that can be legged or market orders is provided.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/854,685 filed Apr. 1, 2013, which is a continuation of U.S. patentapplication Ser. No. 13/537,662 filed Jun. 29, 2012, now U.S. Pat. No.8,433,637, which is a continuation of U.S. patent application Ser. No.13/189,513 filed Jul. 24, 2011, now U.S. Pat. No. 8,234,202, which is acontinuation of U.S. patent application Ser. No. 12/912,719 filed Oct.26, 2010, now U.S. Pat. No. 8,010,437, which is a continuation of U.S.patent application Ser. No. 12/479,231 filed Jun. 5, 2009, now U.S. Pat.No. 7,844,531, which is a continuation of U.S. patent application Ser.No. 10/955,289 filed Sep. 30, 2004, now U.S. Pat. No. 7,574,391, thecontents of which are fully incorporated herein by reference for allpurposes.

TECHNICAL FIELD

The present invention relates generally to data processing systems foruse in electronic trading and, more particularly, the present inventionis directed to tools for use in electronic trading.

BACKGROUND

An automated trading tool gives a user the ability to set up a programthat can respond automatically to patterns in market activity, and inresponse, submit orders directly to an electronic exchange. The use ofsuch trading tools is on the rise and for good reason. Sophisticatedtrading tools can intelligently sense market conditions andautomatically respond—often much faster than a human. Until recently,such sophisticated trading tools were only available to a limited numberof people. Now, in a marketplace where automated programs commonly tradeagainst automated programs, in those circumstances, a manual-styletrader may find it difficult to survive without some kind of automatedassistance.

Automated trading tools are frequently used to hedge, which is a tradingstrategy made to reduce the risk of adverse price movements in atradeable object, by taking an offsetting position in the same or arelated tradeable object. For instance, a trader might execute a tradein one market (e.g., the “non-hedging” side), with the intention ofquickly offsetting that position in another market (e.g., the “hedging”side). An automated trading tool is what most often performs at leastthe latter function—offsetting the position by quickly firing an orderto the hedging side once the non-hedging order is matched. Hedging alsoincludes taking an offsetting position in the same tradeable object,such that the market represents both the hedging side and thenon-hedging side.

A trader might use an automated trading tool in this way to trade aspread, which generally refers to the buying and/or selling of two ormore tradeable objects, the purpose of which is to capitalize on changesor movements in the relationships between the tradeable objects. As usedherein, the term “tradeable object,” refers simply to anything that canbe traded with a quantity and/or price. It includes, but is not limitedto, all types of tradeable events, goods, and financial products. Forinstance, stocks, options, bonds, futures, currency, and warrants, aswell as funds, derivatives and collections of the foregoing, and alltypes of commodities, such as grains, energy, and metals may beconsidered tradeable objects. A tradeable object may be “real,” such asproducts that are listed by an exchange for trading, or “synthetic,”such as a combination of real products that is created by the user. Atradeable object could actually be a combination of other tradeableobject, such as a class of tradeable objects.

Here is an example to illustrate. Some traders trade one tradeableobject—e.g., a trader might trade the September corn contract. That is,the trader is offering to buy or willing to sell the September corncontract, depending on his or her trading strategy. Likewise, a tradermight trade the December corn contract. Some traders, however, trademore than one tradeable object at a time. For example, a trader mightwant to spread trade the September corn contract and the December corncontract. Buying the “September/December” spread refers to buying theSeptember corn contract and selling the December corn contract. Sellingthe “September/December” spread refers to selling the September corncontract and buying the December corn contract. Spreading can also bedone based on other relationships besides calendar months. One suchexample would be trading a 10-year note and a 5-year note. According tothese examples given above, the spread has two legs. Legs refer to theportions of the trades associated with each individual tradeable object,which is also referred to as an outright market. For example, the“September/December” corn calendar spread has two legs, the Septembercorn market makes up a leg and the December corn market makes up theother leg.

Spreads can have more than two legs. For example, a well-known spreadstrategy called the butterfly involves buying a near month contract,selling two middle month contracts, and buying a far month contract. Anexample might be buying “1” March corn contract, selling “2” June corncontracts, and buying “1” December corn contract. The butterfly spreadstrategy in this example has three legs. The March corn market makes upa first leg, the June corn market makes up a second leg, and theDecember corn market makes up a third leg. There are many other types ofwell-known spread strategies, besides the butterfly, which have morethan two legs.

A commercially available trading tool that facilitates the automatictrading of spreads is Autospreader™ from Trading TechnologiesInternational, Inc. of Chicago, Ill. Once the legs of the spread arechosen and the relationship between them are defined, a user can input adesired spread price and quantity, and the Autospreader™ willautomatically work orders in the legs to achieve the desired spread (orattempt to achieve the spread). The Autospreader™ is currently an add-ontool available with X_TRADER® Pro™, which is a trading application alsoavailable from Trading Technologies International, Inc.

U.S. patent application Ser. No. 10/137,979, entitled, “System andMethod for Performing Automatic Spread Trading,” filed on May 3, 2002,the contents of which are fully incorporated by reference herein,describes one such automated spread trading tool. An example is providedherein to illustrate how an automated spread trading tool like thatdescribed in the above incorporated application might work. While theexample illustrates hedging in a related tradeable object, the sameconcepts can be similarly applied to hedging in the same tradeableobject.

The market information given in FIG. 1 is used to illustrate thefollowing example. In particular, FIG. 1 displays example order bookinformation for two hypothetical tradeable objects, referenced in thefigure as product “1” and product “2.” Each of the tradeable objects maybe offered by one electronic exchange or separate electronic exchanges;it does not matter for this example. The bid quantity is shown in theleft columns, the corresponding price—or some symbolic representationthereof—is shown in the center columns, and the ask quantity is shown inthe right columns for each tradeable object. While presenting the orderbook information in this manner makes it easier to illustrate thefollowing example, the actual format of the order book information doesnot matter for this example.

The inside market for each tradeable object includes the best bid price(or the highest bid) and the best ask price (or the lowest ask). Thebest bid price represents the highest price any buyer is willing to payfor a given tradeable object at a given time, and the best ask pricerepresents the lowest price any seller is willing to sell a giventradeable object at a given time. The quantity available at the insidemarket and at other price levels is referred to as market depth.Referring to FIG. 1, at a current moment in time, the inside market forproduct “1” is bid at “295” and ask at “297.” The quantity available forproduct “1” at the inside market is “165” at the bid and “210” at theask. The inside market for product “2” is bid at “240” and ask at “242.”The quantity available for product “2” at the inside market is “230” atthe bid and “150” at the ask. Other bid and ask quantities at variousprice levels are also shown.

To begin, a trader will typically input certain parameters that thetrader wishes to achieve by the spread trading tool, such as a desiredspread price and a desired spread quantity. Then, the spread tradingtool will use a predefined relationship of the spread to determine whatactions to take next. As an example, let us assume that the desiredspread price is “55” and the desired spread quantity is “750,” althoughany price or quantity may be specified. In addition, let us assume thatthe trader wishes to sell the spread, which refers to selling “750” ofproduct “1” and then, when that order is matched, the trader wishes tobuy “750” of product “2.” It is understood that the trader could choosea different spread price and/or spread quantity, and also the tradercould set up the spread in a number of different ways (e.g., buying thespread, which refers to buying product “1” and selling product “2,”etc.). Nonetheless, using the entered spread information, we will lookat two different approaches generally taken by an automated spreadtrading tool.

The automated spread trading tool determines the price to sell “750” ofproduct “1” by first determining the price would buy “750” of product“2.” According to one approach (referred to as the “first approach” inFIG. 1), the trading tool will simply look to the lowest ask price of“242” because that represents the best price for which product “2” maybe bought by the trader. (Alternatively, if the hedge order was to sellin product “2,” the assumed price might be “242” because that representsthe best price for which product “2” may be sold by the trader).Realizing that the best price to buy product “2” is “242,” thenon-hedging order to sell product “1” is priced at “297” in an effort toachieve the desired spread price of “55,” (e.g., 55=297−242).

Unfortunately, there is not “750” available to buy at “242.” Therefore,what would really happen is that the quantity at the next best prices(e.g., “243,” “244,” etc) would be bought up until the hedge order of“750” is filled. As a result, according to this example, the hedge orderwould actually average a price of “243,” assuming that the marketconditions did not change. The following relationship may be used tocompute the average price at which “750” of product “2” could be bought:

${{\left( \frac{150}{750} \right)242} + {\left( \frac{350}{750} \right)243} + {\left( \frac{225}{750} \right)244} + {\left( \frac{25}{750} \right)245}} = 243$

Because the average fill price for the hedge order was higher thanpreviously anticipated, the achieved spread price would be “56,” whichis different from the desired spread price of “55.” Oftentimes, thisresult is undesired because it can amount to a significant loss ofmoney.

According to another approach (referred to as the “second approach”according to FIG. 1), the automated spread trading tool will account forthe market depth in product “2.” In doing so, the spread trading tool iscomputing a hedge order price based on a weighted average of prices.With this example, if the quantity needed was “750,” then the weightedaverage price may be computed by taking quantity from various pricesstarting from the best price, which results in a price of “243.”Realizing that the hedge order would actually be priced at “243,” thenon-hedging order to sell product “1” is priced at “298” in an effort toachieve the desired spread price of “55,” (e.g., 55=298−243).

Unfortunately, in this instance, the nonhedging order is priced furtheroff the market price in an effort to take into account the market depth.Because the non-hedging order is priced higher than market, it risks notbeing filled at all.

As automated trading tools become the norm in electronic trading, it isincreasingly important to develop more intelligent tools to assist thetrader in making the most desirable trades.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the present embodiments may be better understood withreference to the following drawings. The components in the drawings arenot necessarily to scale, emphasis instead being placed uponillustrating example embodiments.

FIG. 1 shows order book information for two hypothetical tradeableobjects to illustrate how a conventional automated spread trading toolmight work to achieve a desired spread price and quantity;

FIG. 2 illustrates an example electronic trading environment in whichthe example embodiments may be utilized;

FIG. 3 illustrates an example computer-based system for use in anelectronic trading environment such as shown in FIG. 2 for carrying outan example embodiment;

FIG. 4 is a flow chart that illustrates an example operation of theexample computer-based system shown in FIG. 3;

FIG. 5 shows order book information for two hypothetical tradeableobjects to illustrate how the example computer-based system shown inFIG. 3 might work to achieve a desired spread price and quantity; and

FIG. 6 shows generally the same order book information as in FIG. 5,except it represents the market some time later when the non-hedgingorders have been matched and offset by the hedging side.

DETAILED DESCRIPTION I. Introductory Overview

The example system and method are appropriate for use in an electronictrading environment, and particularly when market depth is provided bythe exchange in its data feed. The example system is configured to usethe market depth information on the hedging side to make moreintellegent decisions about the order entry on the non-hedging side.According to a particular embodiment, the order on the non-hedging sideis broken up into multiple orders such that each order is automaticallyworked at cascading price levels. The quantity of each order is based onthe desired quantity to be hedged and the market depth information onthe hedging side. According to yet another particular embodiment, anorder on the hedging side can also be intelligently broken up intomultiple orders.

An advantage of using the example system is that there is an increasedchance of achieving a desired spread price for at least those ordersthat have filled on the non-hedging side and the corresponding order(s)that have filled on the hedging side. By intelligently breaking up aquote into orders at cascading price levels based on market depthinformation on the hedging side, there is a better chance of receivingat least “partials” of the spread. That way, even if the entire originalspread order was not achieved (e.g., because of changing marketconditions), it maybe more likely that at least part of the spread willhave been achieved for a price at or near the desired spread price.

A still further advantage is that the example system properly accountsfor the quantity in the depth levels on the hedging side. Unlike otherconventional automated trading tools, the example system canintelligently use this information in determining the price levels toplace orders on the non-hedging side.

Another advantage is that the example system can also intelligentlyplace orders on the hedging side. For instance, the example systemallows for hedging at multiple price levels, or automate the hedging insmaller pieces over time. By applying a more intelligent approach tohedge orders (as opposed to the conventional process of “fire away andforget”), the example system offers an alternative beyond limit ordersthat can be legged or market orders.

Yet another advantage is that with manual-style trading there arephysical limitations on the size and speed with which trades can beexecuted. Therefore, an advantage of using the example system is thattrading efficiency can be greatly improved while offering increasedreliability to achieve optimal results.

While the example embodiments are described in a particular area ofelectronic trading, namely spread trading, it will be understood by oneof ordinary skill that the example embodiments may be embodied in manydifferent forms to accommodate other styles of trading, and should notbe construed as limited to the example embodiments set forth herein.Other features and advantages will become apparent to one with skill inthe art upon examination of the following drawings and examples. It isintended that all such features and advantages be included within thescope of the present invention, and be protected by the accompanyingclaims. Further, it will be appreciated by those of skill in the artthat the preferred system may be provided as methods or computerreadable program means.

II. An Example System Overview

FIG. 2 is a representation of an example electronic trading environmentin which the example system and method may be employed. It is understoodthat the electronic trading environment is presented for the purposes ofillustration and description, and it is not intended to limit thepresent embodiment to the precise environment disclosed; manymodifications and variations of the environment are possible.

The electronic trading environment, as shown, generally includescomputers that operate as the trading stations 208, 210, 212, electronicexchanges 202, 204, 206 and intermediary devices such as gateways 214,216, 218 to interface with the exchanges 202, 204, 206. Networks 220,222, 224, 226 are shown to illustrate the paths of communication betweenthe various elements. It is understood that other hardware and softwarepackages can lie between the trading stations 208, 210, 212 and theelectronic exchanges 202, 204, 206. These may include third-partymachines and devices, third-party networks, hardware and/or softwareconfigurations specific to the customer site and security measures likefirewalls, hubs, security managers, and routers. It is also understoodthat fewer hardware and software packages might be utilized between thetrading stations 208, 210, 212 and the electronic exchanges 202, 204,206. For instance, a gateway may not be necessary in some circumstancesfor a trading station to communicate with an electronic exchange, oralternatively, a single gateway could communicate with multipleexchanges.

Software running on any of the trading stations 208, 210, 212 and thegateways 214, 216, 218 allow traders to log onto the electronicexchanges 202, 204, 206 to receive price and market depth information. Atrading station is a computer such as a personal computer, laptopcomputer, hand-held computer, and so forth that runs trading relatedsoftware and communicates with electronic exchanges 202, 204, 206 eitherdirectly or indirectly. The trading software may create specializedinteractive trading displays, which enable the traders to, among otherthings, obtain market quotes, monitor positions, and submit orders tothe exchange.

Any of the trading stations 208, 210, 212 may utilize the example systemand method to improve order entry by intelligently using market depthinformation. FIG. 3 illustrates more detail of an example tradingstation, referenced to by general reference character 300, that iscapable of carrying out the example embodiments. The trading station 300includes a data interface 302 for receiving one or more various datafeeds, a processor 304 for executing the software, an input interface306 for communicating with input device(s) 312, a memory section 308 forrepresenting temporary and/or permanent storage used by the tradingstation 300, an output interface 310 for controlling display unit and/orspeakers 314. The system 300 is illustrative of a computer system thatis capable of executing programmed logic to exectute the exampleembodiments, especially in the environment shown in FIG. 2.

Turning back to FIG. 2, orders are automatically sent from the tradingstations 208, 210, 212 to any of electronic exchanges 202, 204, 206, andall matches between buyers and sellers are executed by the receivingexchange. If an order doesn't get matched, the order is placed in theexchange's order book, which generally consists of queues of unexecutedorders hopefully waiting for the price to move in their direction.

Each electronic exchange offers a real-time data feed to the tradingstations 208, 210, 212 that provides a certain level of detail on thetrading activity. From such data, it is possible to reconstruct parts,if not most or all, of the exchange's order book. Such information maybe looked upon as an expression of market sentiment and may providestategic guidance for order placement. These data feeds may be monitoredby the example system to automate the order generation process.

While the level of detail in the data feed often depends on theelectronic exchange or the tradeable object being traded, most datafeeds provide the total quantity available at each of the best prices.The highest bid price and the lowest ask price are referred to as theinside market. Market depth refers to the quantity at the inside marketand quantity available at the next best prices. For instance, if anelectronic exchange provides five levels of market depth in its datafeed to its customers, then the aggregate quantity levels for the fivebest bids and the five best offers are offered in the data feed. Someelectronic exchanges provide limited levels of market depth while othersprovide all of the market depth.

III. An Example Method Overview

The following method is generally based on the premise that when usingan automated spread trading tool, once an order in one leg is matched,the automated spread tool automatically offsets the filled order with asecond order which is sent to the offsetting side (e.g., a second leg oropposite side of the market). This quick action in a conventional senseis sometimes referred to as “fire and forget.” If the spread consists ofmore than two legs, then a different offsetting order might be sent toeach of the offsetting legs. In the interest of clarity, the descriptionof the example method assumes that the spread is made up of two legs,and that the price of the first order in the first leg (e.g., thenon-hedging side) is based on the price at which the second order wouldget filled in the second leg (e.g., the hedging side), thereby achievinga certain spread price. The process can be easily adapted by one ofskill in the art upon reading this description to implement spreads withmore than two legs (or only one leg). In addition, there are many otherways to configure the spread than what is described in this example,which are known by one of ordinary skill in the art.

FIG. 4 is a flow chart showing an example operation of breaking up anon-hedging order into multiple orders and determining the quantities ofeach of the orders; all or most of which may be carried out by theexample trading system 300 shown in FIG. 3. Each block in FIG. 4 mayrepresent a module, segment, or portion of code, which includes one ormore executable instructions for implementing specific logical functionsor steps in the process. Alternate implementations are included withinthe scope of the preferred embodiments in which functions may beexecuted out of order from that shown or discussed, includingsubstantially concurrently or in reverse order, depending on thefunctionality involved, as would be understood by those reasonableskilled in the art. Further, it is understood that some steps may notneed to be implemented to achieve the desired result.

At block 400, a possible hedge order quantity (“hedge order qty”) isreceived. If an automated spread trading tool is used, then usually thepossible hedge order quantity is derived from a formula based on thedesired spread quantity. Most often, the desired spread quantity isentered by the user through a graphical user interface (GUI). Accordingto U.S. patent application Ser. No. 10/137,979, the contents of whichwere fully incorporated above, one method for entering the desiredspread price and spread quantity is by entering a “spread order,” whichrepresents the desired spread price and quantity, into the tradinginterface. As an example, if the desired spread quantity is “100,” andthe two legs have a one-to-one ratio (“1:1”), then the hedge orderquantity would also be “100” and the non-hedge order quantity would be“100.” In another example where the ratio is “2:5” and the desiredspread quantity is “100,” then the hedge order quantity would be “100,”but the non-hedge order quantity would be “40.” An example is providedbelow that illustrates having a ratio other than 1:1. Of course, otherrelationships and ratios may apply. It is also understood that thepossible hedge order quantity may be manually entered by a user througha graphical interface—e.g., the user wants to hedge “X” amount, where“X” represents any number. Regardless of how the hedge order quantity isactually determined, the value is preferably stored in memory 308.

At block 402, market depth information for the hedging side is receivedby the example system. As indicated earlier, when the spread isinitially set up, the “legs” of the spread (e.g., the tradeable objects)are preferably chosen by the user. The selection of which may be used todetermine which legs represent the hedging side and the non-hedgingside. The example system may then use this information to retrieve theproper market depth information.

At block 404, the example system looks first to the quantity availableat the relevant inside market price on the hedging side. Of course, theexample system may be programmed to start at a price different than themarket price, but most often the trader will want to look to the marketprice first. The spread definition may be used to determine whether thehedge order will be a buy or sell order, which then may be used todetermine the relevant inside market price. For instance, if the hedgeorder will be an order to buy, then the relevant inside market price isthe lowest ask price—and the example system will preferably look to thequantity available at the lowest ask price. If the hedge order will bean order to sell, then the relevant inside market price is the highestbid price—and the example system will preferebly look to the quantityavailable at the highest bid price.

At block 406, the example system then determines if there is enoughquantity at the relevant inside market price to fill a possible hedgeorder. In other words, is the hedge order size accounted for? As anexample, if the hedge order quantity will be for “100,” and the relevantinside market price has only “90” available, then there is not enoughquantity to fill a possible hedge order quantity. However, if the insidemarket price has “100” or more, then presumably there would be enoughquantity (at least for now). If there is currently not enough quantityto fill the hedge order, then follow the arrow to block 408. If there iscurrently enough quantity to fill a hedge order at the relevant insidemarket price, then follow the arrow to block 410. There might be timeswhen the quantity level changes at the inside market or at any otherprice during these calculations; if so, then the example system canupdate these determinations accordingly.

At block 408, it is understood that there is not enough quantity at therelevant inside market price, so the example system looks further intothe market depth—starting with the quantity at the next best price. Itdoes this to find more quantity than what is currently available at theinside market to fill a possible hedge order. So, as an example, if theexample system was looking at the highest bid price, then the logic willlook to the quantity at the next highest bid price. If the examplesystem was looking at the lowest ask price, then the logic will look tothe quantity at the next lowest ask price.

Then, at block 406, the example system again determines whether there iscurrently enough total quantity at the inside market price and the nextbest price level(s) on the hedging side by summing the quantity at theinside market price and the next best price(s). As an example, if thehedge order quantity is for “100,” and currently the inside market pricehas a quantity of “75,” and the next best price has a quantity of “35,”then together there would be enough quantity on the hedging to satisfy apossbile hedge quantity of “100.”

If there is not enough quantity, then return to block 408 and go thenext best price—this process can continue indefinitely, if soprogrammed. If there is limited quantity available on the hedge side orthe exchange provides few depth levels to determine this adequately,then preferably the user is alerted and the desired spread quantity canbe reduced accordingly.

At block 410, the example system may respond by sending one or moreorders to the non-hedging side, such that each order has a quantitybased on the quantity found on the hedging side. If there was enoughquantity at the relevant inside market price to fill a hedge order, thenthe example system does not have to break the order up into ordersplaced at cascading price levels. If the example system had to lookfurther into the market depth, then two or more orders will preferablybe sent to the non-hedging side. In particular, the example systembreaks up the original quote into orders at cascading price levels, suchthat each order is for a quantity equal to a quantity available on thehedging side at a corresponding price. The total quantity of the ordersshould equal the desired hedge quantity. As an example, using thenumbers from the example given above with respect to block 406, theexample system would break up the order for “100” into a non-hedgingorder into one order for “75” at the inside market price and a secondorder for “25” at the next best price. Of course, the orders may beentered one at a time, if so desired (e.g., just sending the first orderfor “75”). A more detailed example is provided below to illustrate.

IV. Example

FIG. 5 displays example order book information, in a format similar tothat as shown in FIG. 1, for two hypothetical tradeable objects,referenced in the figure as product “1” and product “2.” Using thisinformation, an example is provided.

Assume that a user set up a trade that includes selling “750” of product“1” and, once the first order has filled, offsetting the position bybuying “750” of product “2.” It is also assumed, for sake ofillustration, that the user's desired spread price is “55” and the ratiois “1:1.” Therefore, according to block 400 in FIG. 4, the examplesystem has received the hedge order quantity size of “750.”

Per block 402, market depth information is received at the datainterface 102 pertaining to the two tradeable objects. For instance,referring to FIG. 3, the data interface 302 can received market depthinformation for the tradeable objects.

Next, per block 404, the example system looks to the quantity availableat the inside market price on the hedging side to determine whetherthere would be enough quantity to satisfy a hedge order of “750.” Inthis example, the example system would look to the lowest ask price,because that is the best price we could buy at in the market. Currently,there is a quantity of “150” available.

Per block 406, the example system determines that “150” would not beenough quantity to fill a hedge order of “750.” In other words, theamount of “750” is greater than “150.”

Next, per block 408, the example system looks to the next best askprice, which is “243” and has a quantity of “350.” So far, per block406, the total quantity at the two best price levels is“150”+“350”=“500,” which is still not enough quantity to satisfy a hedgeorder of “750.” The next best ask price is “244,” and has a quantity of“225.” Again, the total quantity of “150”+“350”+“225”=“725” at the threebest price levels is not enough. There is “25” available at “244.” Perblock 406, it would now be determined that there is enough quantity atthe four best ask price levels (e.g., “150”+“350”+“225”+“25”=“750”).

Next, per block 410, the order to sell “750” of product “1” ispreferably broken up into separate orders to coincide with the quantityavailable on the hedging side. A sell order (which can be seen in FIG. 5under the column “Wrk Ord” in the window for product “1”) for “150” isplaced at “297,” another sell order for “350” is placed at “298” anothersell order for “225” is placed at “299” and a final sell order for “25”is placed at “300.” In other words, the large non-hedging order for“750” is broken up into multiple orders, where each order rests atcascading price levels. Notice that the market depth (e.g., the askquantity) for product “1” also includes the working order quantities.

FIG. 6 shows the same market information that was previously shown inFIG. 5, except some time later when the market moved up in value forproduct “1” and swept the order book. As a result, the orders on thenon-hedging side were filled, and a hedge order for “750” was sent tobuy whatever was available in product “2.” According to one embodiment,the hedge order could be one order for “750” sent at a price of “245” orbetter (e.g., “242,” “243,” “244,” and “245”), or alternatively, thehedge order could be broken up into multiple orders (e.g., an order tobuy “150” at “242,” an order to buy “350” at “243,” an order to buy“225” at “244,” and an order to buy “25” at “245”). If the hedge orderwas broken up into multiple orders, then when a non-hedging order isfilled, the hedge order corresponding to that quantity may be sent. Forinstance, referring to FIG. 6, when the sell order for “150” at “297” isfilled, then an offsetting order to buy “150” at “242,” may be sent,regardless of what happens with the other non-hedging orders. That way,partial spreads may be achieved.

According to one advantage, the market depth on the hedging side istaken into account when placing one or more orders on the non-hedgingside. Thus, if the orders are all filled (a sweep in the book forproduct “1”), then an offsetting order for a quantity of “750” may beimmediately fired to offsett the position in a more likely attempt toget the desired spread price of “55.” For instance, assuming that themarket conditions didn't change in product “2,” then looking at eachnon-hedging order and its counterpart quantity on the hedging sideaccordingly:

If the spread partial for “150” is complete (e.g., the non-hedging sideorder of “150” was matched and the corresponding quantity of “150” onthe hedging side was also matched): achieved spread price=“55”=sold at“297”−bought at “242.”

If the spread partial for “350” is complete (e.g., the non-hedging sideorder of “350” was matched and the corresponding quantity of “350” onthe hedging side was also matched): achieved spread price=“55”=sold at“298”−bought at “243.”

If the spread partial for “225” is complete (e.g., the non-hedging sideorder of “225” was matched and the corresponding quantity of “225” onthe hedging side was also matched): achieved spread price=“55”=sold at“299”−bought at “244.”

If the spread partial for “25” is complete (e.g., the non-hedging sideorder of “25” was matched and the corresponding quantity of “25” on thehedging side was also matched): achieved spread price=“55”=sold at“300”−bought at “245.”

According to another advantage, there is an increased chance ofreceiving partial fills on the large quantity of the spread order.Looking to the example of FIGS. 5 and 6, there is a better chance of thesome of the orders getting filled because they rest at or near theinside market. Even if only some of the orders are filled, then it stillhas a chance of achieving the desired spread price. For instance:

If the first order for “150” was filled at “297,” then an offsettingorder for “150” would fill at a price of “242,” which gives a spreadprice of “55.” However, the market may now move down in value forproduct “1,” thereby reducing the chances of getting more of the spread.Yet, the trader at least was partially filled on the spread.

As indicated earlier, the example system can break up the hedge ordersas well. Using the examples above, the example system could send a hedgeorder for “750” at a price of “245” or better, or alternatively, theexample system could send multiple hedge orders, as each non-hedge orderis filled. So, for instance, when the non-hedge order for “150” at aprice of “297” fills, then the example system could offset that quantitywith a hedge order for “150” at a price of “242.” Then, as the marketmoves through the non-hedging orders, the example system canappropriately send the offsetting orders.

Sometimes a trader might want to trade with a ratio different than“1:1,” which was the ratio used in the previous illustration. To allowfor different ratios, the example system preferably adjusts the orderquantities (e.g., the orders which are going to be sent to theelectronic exchange), accordingly. For instance, let us still assumethat a trader wants “750” of product “1,” but the ratio is “10:6.6.”Now, looking to product “2” in FIG. 5, there is a quantity of “150” at aprice of “297.” To achieve the ratio of “10:6.6,” we would ordinarilyneed “227.2727 . . . ” of product “1.” However, usually an orderquantity has to be a whole number (e.g., an order to buy “50” isacceptable, whereas an order to buy “50.4” would ordinarily not beacceptable). Therefore, according to one example embodiment, an orderfor a quantity of “227” is entered to sell product “1” at a price of“297.” Then, a quantity left over of “0.2727 . . . ” is carried over tothe next order (or dropped, if so programmed). For instance, looking toproduct “2” again, and in particular, the next best price of “243,”there is a quantity of “350.” To achieve the ratio of 10:6.6, we wouldordinarily need “530.3030 . . . ” of product “1,” however, we can addthe leftover amount from the previous calculation to this amount, giving“530.3030+0.2727 . . . =530.5757 . . . . ” According to one example, anorder a quantity of “530” is entered to sell product “1” at a price of“298.” Then, the quantity of “0.5757 . . . ” is carried over, such thatthis process can be repeated until a quantity of “1” (or near “1”) isreached, at which time the carry over is added to a particular order. Ofcourse, there are other ways to accommodate a non-“1:1” ratio besidesusing a carry over; for example, by dropping the extra quantity,rounding up the quantity to the next whole number, rounding down thequantity to the next whole number, and so on.

As indicated earlier, when the quantities on the hedging side change,then the example system preferably updates the orders (e.g., orderquantity and/or order price) on the non-hedging side. However, to reduceexcess quoting it is possible to provide the user with a feature whichrefrains from re-pricing or re-quoting the order until a certainthreshold is exceeded. To do this, a user may enter certain tolerancelevels, or a condition, which represent in some manner how much changein quantity the user is willing to take before modifying an order ororders (e.g., frequency of quoting). Orders may be modified by simplycanceling an order and submitting a new order based on the new data.Using this feature preferably causes the system to refrain from sendinga new order and/or deleting the old order. The tolerance levels may beentered through a graphical user interface (GUI) that provides the userwith the ability to program the feature. For instance, if the quantityof “150” on the offsetting side shown in FIG. 1 changes to “140,” thenmaybe the trader does not want the system to re-price the order on thenon-hedging side, and therefore, can program the system not to re-pricethe order. However, if the quantity changes to “125,” then the tradercan enable the system to change the corresponding order. Additionalfeatures that are centered around the prevention of excess quoting mayalso be included, such as the concept of “slop,” which is described inU.S. patent application Ser. No. 10/137,979, the contents of which arefully incorporated by reference.

Recognizing the benefits of utilizing market depth information in orderentry, the example system may be programmed to perform all sorts offunctions:

For example, when only part of a non-hedging order is filled (e.g.,referring to FIG. 5, assume that only “120” of the “150” was filled inproduct “1”), then the example system could be programmed to addquantity to that price level. This is assuming, however, that there isenough quantity available on the hedging side to make this particularfeature effective—for instance, additional ask quantity might have beenadded by one or more traders (as the non-hedging order is filling orsometime thereafter) to the hedging side at a price of “242.” Then,there would be more quantity to hedge on.

In another example, a trader might only want a certain number of ordersin the market at any given time. In this instance, the trader mightprogram the number of desired orders (e.g., on the hedging side and/orthe non-hedging side) and the example system will break up the orders inmultiple orders, but not exceeding the desired number of orders. Forinstance, a trader might only want three orders in the market on thenon-hedging side. In this instance, the example system will break up theorder into no more than three orders. If there simply is not enoughquantity on a side to satisfy this requirement (e.g., the example inFIG. 5 required the order to be broken up into four orders), then theexample system may alert the user and/or enter the orders for as muchquantity as it currently can. Of course, other ways may be programmed.

In yet another example, a trader might want orders limited to certainquantity size. In this instance, the trader might want to limit ordersto size no larger (or smaller, if desired) than a “50” lot order. Then,the system would have to adjust accordingly to accomadate this request,by either entering more orders in the market or by alerting the traderof a certain condition cannot be reached because of the limit—thusprompting a change.

In another example, the orders may be held back based on time or someother unit of measurement. According to this instance, a trader mightwant the broken up orders to be entered on certain time intervals.

In yet another example, it might be desirable to base the non-hedgeorder quantity (and/or the hedge quantutity) on something other thanquantity in the offsetting leg. In this instance, a trader might enteran equation in which the number of orders and/or the quantity of theorders is based.

V. Conclusion

Although the programs, processes, methods and system has been describedand illustrated in detail, it is clearly understood that the same is byway of illustration and example only and is not to be taken by way oflimitation. Since numerous modifications and changes will readily occurto those skilled in the art, it is not desired to limit the invention tothe exact construction and operation shown and described, andaccordingly, all suitable modifications and equivalents may be resortedto, falling within the scope of the invention.

According to one embodiment, the example system takes the form of acomputer program product that is stored on a computer readable storagemedium and is executed by a suitable instruction execution system in thecomputer-based device. The term computer readable medium, as usedherein, refers to any medium that participates in providing instructionsto processor for execution. Such a medium may take many forms, includingbut not limited to, non-volatile media, volatile media, and transmissionmedia. Non-volatile media includes, for example, optical or magneticdisks, such as storage device. Volatile media includes dynamic memory,such as main memory or RAM (random access memory). Common forms ofcomputer-readable media include, for example, a floppy disk, a flexibledisk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM,any other optical medium, punch cards, paper tape, any other physicalmedium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM,and any other memory chip or cartridge, or any other medium from which acomputer can read.

According to an alternative embodiment, a hardware embodiment might takea variety of different forms. A hardware embodiment may be implementedas an integrated circuit with custom gate arrays or an applicationspecific integrated circuit (“ASIC”). A hardware embodiment may also beimplemented with discrete hardware components and circuitry. Inparticular, it is understood that the logic structures and method stepsdescribed in the flow diagrams may be implemented in dedicated hardwaresuch as an ASIC, or as program instructions carried out by amicroprocessor or other computing device.

The claims should not be read as limited to the described order ofelements unless stated to that effect. In addition, use of the term“means” in any claim is intended to invoke 35 U.S.C. §112, paragraph 6,and any claim without the word “means” is not so intended. Therefore,all embodiments that come within the scope and spirit of the followingclaims and equivalents thereto are claimed as the invention.

1. (canceled)
 2. A method including: selecting by a computing device afirst hedge price, wherein the first hedge price is a price level for asecond tradeable object of a trading strategy, wherein the tradingstrategy is specified by a definition and includes a first leg for afirst tradeable object and a second leg for the second tradeable object,wherein a first hedge quantity is available at the first hedge price;sending by the computing device a command to place a first order for thefirst tradeable object, wherein the first order is at a first price fora first quantity, wherein the first price is determined based on adesired strategy price for the trading strategy and the first hedgeprice, wherein the first quantity is determined based on the definitionfor the trading strategy, a desired strategy quantity for the tradingstrategy, and the first hedge quantity; selecting by the computingdevice a second hedge price, wherein the second hedge price is a pricelevel for the second tradeable object, wherein a second hedge quantityis available at the second hedge price, wherein the second hedge priceis different from the first hedge price; sending by the computing devicea command to place a second order for the first tradeable object,wherein the second order is at a second price for a second quantity,wherein the second price is determined based on the desired strategyprice and the second hedge price, wherein the second quantity isdetermined based on the definition for the trading strategy, the desiredstrategy quantity, the second hedge quantity, and at least one of thefirst quantity and the first hedge quantity; detecting by the computingdevice a change in a quantity available at the first hedge price; andsending by the computing device a command to update first order for thefirst tradeable object when the detected change in the quantityavailable at the first hedge price exceeds a tolerance threshold.
 3. Themethod of claim 2, wherein the trading strategy is a spread.
 4. Themethod of claim 2, wherein the trading strategy further includes a thirdleg for a third tradeable object.
 5. The method of claim 2, wherein thefirst hedge price is one of a best bid price and a best ask price forthe second tradeable object.
 6. The method of claim 2, wherein thesecond hedge price is a next best price level with respect to the firsthedge price.
 7. The method of claim 2, wherein the first quantity isdetermined further based on a predefined maximum quantity.
 8. The methodof claim 2, wherein the definition for the trading strategy furtherincludes a leg ratio, wherein the first quantity and the second quantityare determined further based on the leg ratio.
 9. The method of claim 2,wherein the command to place the first order is sent at substantiallythe same time as the command to place the second order.
 10. The methodof claim 2, wherein the command to place the second order is sent at apredetermined time interval after the command to place the first order.11. The method of claim 2, wherein the first tradeable object and thesecond tradeable object are listed at the same electronic exchange. 12.The method of claim 2, further including: sending by the computingdevice a command to place a hedge order when the first order has been atleast partially filled, wherein the hedge order is for the secondtradeable object at the first hedge price.
 13. The method of claim 2,wherein the command to update the first order for the first tradeableobject is a command to reduce the first quantity for the first order.14. The method of claim 2, wherein the command to update the first orderfor the first tradeable object is a command to cancel the first order.15. The method of claim 2, wherein the command to update the first orderfor the first tradeable object is a command to change the first pricefor the first order.
 16. The method of claim 2, wherein the computingdevice includes at least one of a trading station, a gateway, and aserver.